画沙浊影

  • 主页
  • 随笔
所有文章 友链 关于我

画沙浊影

  • 主页
  • 随笔

一行代码 - 有格式的显示当前时间

2018-07-01

如何用一行代码显示当前的时间呢?

环境:
        系统:Windows 10(64位)
        编程语言:Java
        jdk版本:1.8.0_171
        软件:Intellij IDEA
        类:Date
            SimpleDateFormat
        包:java.util.Date
            java.text.SimpleDateFormat

老方法显示时间

用老方法显示当前时间的方式如下:

Old
1
2
3
4
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = sdf.format(date);
System.out.println(str);

  1. 使用Date类来获取当前时间的时间戳
  2. 使用SimpleDateFormat类规范时间样式为:”yyyy-MM-dd HH:mm:ss”
  3. 利用format方法规范时间格式
  4. 输出当前时间

输出结果:

End
1
2018-07-01 15:33:10

一行代码显示当前时间

以上的代码可以进行整理,让其成为一句话就可以输出带有格式的当前时间。

实现代码如下:

New
1
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date().getTime())

输出结果:

End
1
2018-07-01 15:34:23

这句话其实就是剔除赋值部分,使其连接在一起输出当前时间,其中样式部分可以更改为想要的效果,不必与我相同。

适用范围与补充

  • 适用范围


1.需求只涉及输出当前时间的情况

1
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date().getTime()));   //控制台输出当前时间:2018-07-01 15:34:23

在程序中只需要输出当前时间,在任何位置都可以用这句话来显示


2.在代码量多的情况下可以起到精简代码的作用

代码见文中新旧代码


3.设置为全局变量或者静态方法,方便取值

静态全局变量
1
2
3
4
5
6
7
8
9
10
11
class All_get {
static String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date().getTime()); //获取当前时间
public static void main(String[] args){
System.out.println(date); //main函数在控制台打印出本类的静态全局变量date
}
}
class All_getnew{
public static void main(String[] args){
System.out.println(all_get.date); //main函数在控制台打印出all_get类的静态全局变量date
}
}

  1. 在All_get类中创建静态全局变量date在控制台打印当前时间
  2. 在All_getnew类中通过All_get类中创建的静态全局变量date在控制台打印当前时间
  3. 通过这种方式,只要想获取当前时间,只要通过类名.静态属性名(All_get.date)就可以获取当前时间
  4. 这种方式可以扩展到集合中的赋值,数据库中添加系统当前时间,界面上的时间显示等等
  5. 这样写,静态变量在类的初始化过程中会被赋值,值将不会改变,要注意。
  6. 实际运用时,可以采用下面的代码:
新的静态全局变量方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static class All_get {
static String date = null;
public static String nowDate(){
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date().getTime()); //获取当前时间
return date;
}
}
static class All_getnew{
public static void main(String[] args) throws InterruptedException {
System.out.println(All_get.nowDate());
Thread.sleep(5*1000); //5秒后执行下一句
System.out.println(All_get.nowDate()); //main函数在控制台打印出all_get类的静态方法nowDate
}
}

运行结果:

新的静态全局变量方法
1
2
2018-07-02 23:53:28
2018-07-02 23:53:33 //可以看出前后相差5秒

用这样的方式就可以取到最新的当前时间了,对于静态的使用,可以看情况而定,我在这里为了方便演示,所以使用了静态属性修饰。


  • 补充

这种精简的语句有两种写法:

1
2
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date().getTime()));   //控制台输出当前时间:2018-07-01 15:34:23
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); //控制台输出当前时间:2018-07-01 15:34:23

输出结果:

End
1
2
2018-07-01 15:34:45
2018-07-01 15:34:45

不难看出,这两句的区别在于后面的new Date().getTime()与new Date()处,这两种输出结果相同,写法不同。
我个人偏向于前者,原因是,加上了.getTime()更易于理解与查找,当然这是我个人喜好,其实两者皆可。

赏

谢谢你的喜欢

支付宝
微信
  • 一行代码
| 总阅读量230
  • Java

扫一扫,分享到微信

微信分享二维码
为了你,我愿意热爱整个世界
欢迎来到画沙浊影的博客
  1. 1. 如何用一行代码显示当前的时间呢?
    1. 1.1. 老方法显示时间
    2. 1.2. 一行代码显示当前时间
    3. 1.3. 适用范围与补充
Like Issue Page
No Comment Yet
Login with GitHub
Styling with Markdown is supported
Powered by Gitment
© 2018 画沙浊影
Hexo Theme Yilia by Litten
总访问量: 12802| 总访客: 10540
  • 所有文章
  • 友链
  • 关于我

tag:

  • Linux
  • Java
  • 一行代码
  • Mysql
  • Spring Boot
  • 连续剧
  • 游戏
  • 创建型模式
  • 随笔

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • Mysql cmd(命令提示符) 下乱码问题

    2018-09-06

    #Mysql

  • Spring Boot 默认访问地址[index.html]

    2018-09-02

    #Spring Boot

  • Linux介绍 & 基本操作指令

    2018-08-05

    #Linux

  • 古剑奇谭系列

    2018-07-20

    #连续剧#游戏

  • 数组

    2018-07-07

    #Java

  • 反射机制

    2018-07-04

    #Java

  • 单例模式及应用

    2018-07-02

    #创建型模式

  • Hello World

    2018-07-02

    #Java

  • 为了你,我愿意热爱整个世界

    2018-07-01

    #连续剧

  • 一行代码 - 有格式的显示当前时间

    2018-07-01

    #一行代码

  • 欢迎来到画沙浊影的博客

    2018-06-30

    #随笔

  • 千库网
  • 菜鸟教程
  • 南方公园
  • 系统之家
  • w3school
  • W3Cschool
  • 在线调色板
  • IDEA系列主题
  • Color Themes
  • 廖雪峰的官方网站

                  画沙浊影

万家灯火,带领星光,拼出个晚上。
             --早安&晚安

For dreams, never stop
             --为了梦想,永不停歇